package com.pro.service;

import com.pro.pojo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface JsUserService {

    public JsUser getUser(@Param("account")String account, @Param("password")String password);

    public JsUser getAccount(String account);

    public List<JsUser> getUserList(JsUser jsUser);

    public List<JsUser> getUserListRetrieval(JsUser jsUser);

    public boolean updateJsUserEnabled(@Param("userId") Integer userId,@Param("enabled") Integer enabled);

    public boolean updateJsUserStatus(@Param("userId")Integer userId,@Param("status")Integer status);

    public boolean updateJsUser(JsUser jsUser);

    public List<Integer> getJsUserPower(Integer userId);

    public boolean deleteJsUserPower(Integer userId);

    public boolean addJsUserPower(JsRoleAuthority jsRoleAuthority);

    public List<JsDept> getJsDept();

    public List<JsDept> getJsUserById(Integer id);

    public boolean updateJsDeptNameById(@Param("id") Integer id,@Param("deptName")String deptName);

    public boolean deleteJsDeptById(Integer id);

    public boolean importJsUser(List<JsUser> jsUser);

    public List<String> getJsUserAccount();

    public boolean addJsUser(JsUser jsUser);

    public Integer getJsUserByAccount(String account);

    public boolean addJsUserDept(@Param("userId") Integer userId,@Param("deptId")Integer deptId);

    public List<JsUnseal> getJsUnseal(JsUnseal jsUnseal);

    public boolean deleteJsUnseal(Integer id);

    public List<JsDept> getJsDeptList(JsDept jsDept);

    public boolean updateJsDeptStatus(@Param("id") Integer id,@Param("status")Integer status);

    public boolean updateJsDept(JsDept jsDept);

    public List<JsLoginRecord> getBackStageLogin(JsLoginRecord jsLoginRecord);

    public boolean deleteLoginRecord(Integer id);
    /**
     * @Author 祖铭泽
     * @Date 2022/2/22/0022
     * @description 为用户添加部门
     */
    boolean addUsersDept(List<JsUser> jsUsers);
    /**
     * @Author 祖铭泽
     * @Date 2022/2/23/0022
     * @description 添加部门
     */
    JsonData addDept(JsDept dept);
    /**
     * @Author 祖铭泽
     * @Date 2022/2/27/0022
     * @description 根据账号获取id
     */
    Integer getUserIdByAccount(String account);
}
